From 0affd82480977288c64ff9571b78cd777dfc4ad3 Mon Sep 17 00:00:00 2001 From: Michael Natterer Date: Tue, 5 Aug 2008 14:25:29 +0000 Subject: [PATCH] clamp the value to [lower...upper-page_size] instead of only 2008-08-05 Michael Natterer * gtk/gtkadjustment.c (gtk_adjustment_set_value): clamp the value to [lower...upper-page_size] instead of only [lower...upper]. * README: add note about this change. While this fix is correct and should have been there forever, it has the potential to break some corner cases, however these cases would set page_size to a value != 0 which suggests they want it honored. svn path=/trunk/; revision=21012 --- ChangeLog | 12 ++++++++++++ README | 7 +++++++ gtk/gtkadjustment.c | 2 +- 3 files changed, 20 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index ca840dcfae..f342f8303b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,15 @@ +2008-08-05 Michael Natterer + + * gtk/gtkadjustment.c (gtk_adjustment_set_value): clamp the value + to [lower...upper-page_size] instead of only [lower...upper]. + + * README: add note about this change. + + While this fix is correct and should have been there forever, it + has the potential to break some corner cases, however these cases + would set page_size to a value != 0 which suggests they want it + honored. + 2008-08-05 Michael Natterer * tests/testiconview.c: don't use the deprecated diff --git a/README b/README index 5f43cc1b50..ccde59a76c 100644 --- a/README +++ b/README @@ -42,6 +42,13 @@ Release notes for 2.14 the GtkFileSystem interface is no longer available, nor the filechooser will load any GtkFileSystem implementation. +* gtk_adjustment_set_value() now correctly clamps the passed value to + [lower...upper-page_size] instead of just to [lower...upper]. + This has the potential to break some corner cases, however these + cases would set page_size to a value != 0 which suggests they want + it honored. All manual clamping in code calling set_value() can now + be safely removed. + Release notes for 2.12 ====================== diff --git a/gtk/gtkadjustment.c b/gtk/gtkadjustment.c index 1fcbcba180..eb86a663a8 100644 --- a/gtk/gtkadjustment.c +++ b/gtk/gtkadjustment.c @@ -354,7 +354,7 @@ gtk_adjustment_set_value (GtkAdjustment *adjustment, { g_return_if_fail (GTK_IS_ADJUSTMENT (adjustment)); - value = CLAMP (value, adjustment->lower, adjustment->upper); + value = CLAMP (value, adjustment->lower, adjustment->upper - adjustment->page_size); if (value != adjustment->value) { -- 2.30.2